From: Jasper St. Pierre Date: Thu, 10 Oct 2013 15:11:24 +0000 (-0400) Subject: power: Use the icon from the primary device for status X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3232 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=575b373cd5bc926e4dd8306cce8bf4b3f2af871c;p=gnome-shell.git power: Use the icon from the primary device for status https://bugzilla.gnome.org/show_bug.cgi?id=709925 --- diff --git a/js/ui/status/power.js b/js/ui/status/power.js index ec1e9ae4e..429db7a8f 100644 --- a/js/ui/status/power.js +++ b/js/ui/status/power.js @@ -86,38 +86,30 @@ const Indicator = new Lang.Class({ return _("Estimating…"); }, - _syncStatusLabel: function() { - this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) { - if (error) { - this._item.actor.hide(); - return; - } + _sync: function() { + function isBattery(result) { + if (!result) + return false; let [device] = result; - let [device_id, device_type] = device; - if (device_type == UPower.DeviceKind.BATTERY) { + let [, deviceType] = device; + return (deviceType == UPower.DeviceKind.BATTERY); + } + + this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) { + if (isBattery(result)) { + let [device] = result; + let [,, icon] = device; + let gicon = Gio.icon_new_for_string(icon); + this._indicator.gicon = gicon; + this._item.icon.gicon = gicon; this._item.status.text = this._statusForDevice(device); this._item.actor.show(); } else { + // If there's no battery, then we use the power icon. + this._indicator.icon_name = 'system-shutdown-symbolic'; this._item.actor.hide(); } })); }, - - _syncIcon: function() { - let icon = this._proxy.Icon; - if (icon) { - let gicon = Gio.icon_new_for_string(icon); - this._indicator.gicon = gicon; - this._item.icon.gicon = gicon; - } else { - // If there's no battery, then we use the power icon. - this._indicator.icon_name = 'system-shutdown-symbolic'; - } - }, - - _sync: function() { - this._syncIcon(); - this._syncStatusLabel(); - } });